$(function () {
  let laypage = layui.laypage;
  let layer = layui.layer;

  //获取用户列表参数
  let query = {
    pagenum: 1, //页码值
    pagesize: 3, // 每页显示多少条数据, 默认加载2条数据
  };

  //获取用户列表
  getUserList();
  function getUserList() {
    $.ajax({
      url: 'admin/users',
      data: query,
      success: function (res) {
        // console.log(res);
        //生成表格
        let htmlStr = template('userTpl', res);
        $('#tb').html(htmlStr);

        renderpage(res.total);
      },
    });
  }

  //分页
  function renderpage(total) {
    //执行一个laypage实例
    laypage.render({
      elem: 'userPage',
      count: total, //数据总数，从服务端得到
      limit: query.pagesize,
      limits: [3, 10, 30, 40, 100],
      curr: query.pagenum,
      layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],

      jump: function (obj, first) {
        // 把query对象的pagenum参数修改了（页码）
        query.pagenum = obj.curr;

        // 把query的pagesize调整下
        query.pagesize = obj.limit;

        // 首次不执行 ==> 解决分页的bug
        if (!first) {
          getUserList();
        }
      },
    });
  }

  //删除用户

  $('body').on('click', '.delBtn', function () {
    if ($('.delBtn').length === 1) {
      // if成立，说明页面中还有一个删除按钮，但是经过ajax的删除操作，页面中就没有了当前这页的数据（加载上一页的数据）
      if (query.pagenum === 1) {
        query.pagenum = 1;
      } else {
        query.pagenum = query.pagenum - 1;
      }
    }

    //自定义属性获取ID
    let id = $(this).attr('data-index');

    layer.confirm('不再考虑一下?', { icon: 3, title: '提示' }, function (index) {
      $.ajax({
        url: 'admin/users/' + id,
        type: 'DELETE',
        success: function (res) {
          if (res.status !== 0) {
            return layer.msg(res.message);
          }
          layer.msg(res.message);
          // console.log(res);
          //删除后重新获取列表
          getUserList();
        },
      });
      layer.close(index);
    });
  });

  //重置密码页面
  let resetIndex;
  let id;
  $('body').on('click', '.resetBtn', function () {
    //获取点击ID
    id = $(this).attr('data-index');
    resetIndex = layer.open({
      type: 1,
      title: '重置密码',
      area: ['500px', '250px'],
      content: $('#resetFormTpl').html(), //这里content是一个普通的String
    });
  });
  //提交修改
  $('body').on('submit', '#resetForm', function (e) {
    e.preventDefault();
    let data = $(this).serialize();

    // console.log(data, id);
    $.ajax({
      url: 'admin/users/' + id,
      type: 'PUT',
      data,
      success: function (res) {
        // console.log(res);
        if (res.status !== 0) {
          return layer.msg(res.message);
        }
        layer.msg(res.message);
      },
    });
    //提交后关闭页面
    layer.close(resetIndex);
  });

  // //编辑用户

  // $('body').on('click', '.editBtn', function () {
  //   // alert('1');
  //   location.href = '/admin/user/edit.html';
  // });
});
